Recently, various types of SCTP communication methods have been developed, wherein Patent Document 1 discloses a transport layer protocol supporting multi-homing. Herein, a multi-home host has a plurality of network interfaces, providing a plurality of IP addresses with arbitrarily designated addresses. Additionally, the SCTP supports multi-streaming.
The conventional SCTP statically allocates the number of streams used for each association, so that the number of streams which is determined upon establishment of each association is continuously used until disconnection of communication. A procedure for allocating the number of streams will be described with reference to FIG. 13.
FIG. 13 shows a procedure for allocating the number of streams with SCTP nodes (hereinafter, simply referred to as “nodes”) by way of steps ST301 to ST303. In step ST301, the node X making a request of connection sends INIT (Initiation) to the node Y.
In step ST302, the node Y receiving INIT sends back INIT_ACK (Initiation Acknowledgment) to the node X.
In step ST303, the node X compares the requested number of streams OS (Number of Outbound Streams), described in the received INIT_ACK, with the permitted number of streams MIS (Number of Inbound Streams), thus determining the number of streams, i.e. the minimum one selected from among these numbers. The requested number of streams OS is the number of streams which needs to be used in each association, whilst the permitted number of streams MIS is the maximum number of streams which each node can accept.
According to this procedure, communication is started using the number of streams determined upon establishment of each association; thereafter, the number of streams is maintained without being changed until disconnection of communication.
When the number of streams requested by the node X is “5” while the number of streams permitted by the node Y is “3”, for example, communication is started using three streams as shown in FIG. 14.
Next, the relationship between the number of streams, which is set between nodes, and the communication speed (i.e. the communication speed in an application layer) will be described. The SCTP makes a delivery acknowledgement of packets in units of streams, so that packets are retransmitted when they are lost. For this reason, it is impossible to transmit packets following retransmitted packets in each stream involving retransmission of packets.
Compared with the communication method using a single stream, the communication method using a plurality of streams is advantageous in that it can continue transmitting packets in other streams other than each stream involving retransmission of packets. That is, it is expected that the data communication speed in the application layer will be improved by using a plurality of streams.
In the communication method using a plurality of streams, however, a transmission delay increases due to retransmission of packets so that the communication speed will decrease when the amount of data is far larger than the number of streams. Considering the tradeoff between the number of streams and the processing ability allocated to each stream, it is necessary to determine the maximum number of streams adopted in each node. That is, each node needs to efficiently allocate the limited number of streams to each association.